Systems and methods for generating wind power scenarios for wind-power-integrated stochastic unit commitment problems

ABSTRACT

The present disclosure relates generally to systematic algorithms (and associated systems and methods) that take a forecast model as input and produce a discrete probability distribution as output, using scenario reduction ideas from stochastic programming. In one example, an algorithm (and associated system and method) creates scenarios sequentially for each time period, leading to a scenario tree.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present disclosure relates to commonly-owned, co-pending U.S. patentapplication Ser. No. ______ (Attorney Docket No. 27608), filed Mar. 7,2012, entitled SYSTEMS AND METHODS FOR SOLVING LARGE SCALE STOCHASTICUNIT COMMITMENT PROBLEMS, the entire contents and disclosure of which isincorporated by reference as if fully set forth herein.

BACKGROUND

The present disclosure relates generally to systematic algorithms (andassociated systems and methods) that take a forecast model as input andproduce a discrete probability distribution as output, using scenarioreduction ideas from stochastic programming. In one example, analgorithm (and associated system and method) creates scenariossequentially for each time period, leading to a scenario tree. Thesealgorithms (and associated systems and methods) contrast withconventional methods that typically create scenarios for all timeperiods simultaneously and/or which do not form a scenario tree.

DESCRIPTION OF RELATED ART

Optimization under uncertainty has received the attention of manyresearchers in the last few decades (Sahinidis 2004). Many real-lifeproblems under uncertainty can be modeled as a stochastic programmingproblem in the form:

${{\min\limits_{x \in X}{_{P}{f\left( {\omega,x} \right)}}} \equiv {\min\limits_{x \in X}{\int_{\Omega}^{\;}{{f\left( {\omega,x} \right)}{P\left( \ {\omega} \right)}}}}},$

where X⊂

^(n) is a given nonempty convex closed set, Ω a closed subset of

^(s) and

the Borel σ-field relative to Ω, the function ƒ from Ω⊂

^(n) to the extended reals

is measurable with respect to ω and lower semi-continuous and convexwith respect to x, and P is a fixed probability measure on (Ω,

). This formulation models two-stage and multi-stage stochasticprogramming problems with recourse, where X is the feasible set ofdecisions and ƒ(ω, x) evaluates the optimized decisions under thescenario that co is realized.

SUMMARY

As described herein, one embodiment provides a method that takes windspeed forecasts as input, and uses Monte-Carlo sampling and scenarioreduction techniques to generate scenarios that form a scenario tree.Conventional methods typically either don't use scenario reductiontechniques (which may be crucial in decreasing the problem size) and/ordon't produce a scenario tree as output. Having scenario trees isimportant in stochastic programming because using scenario trees leadsto dynamic recourse decisions in the stochastic programming models.

In one embodiment, a system for providing scenario tree generation basedat least in part upon scenario reduction is provided, the systemcomprising one or more processor units configured for: receiving for atleast a first time period a first forecast, wherein the first forecastcomprises a first set of scenarios; reducing the first set of scenariosto a first subset of scenarios, wherein the first subset of scenarioscomprises a subset of the first set of scenarios; receiving for at leasta second time period a second forecast, wherein the second forecastcomprises a second set of scenarios; reducing the second set ofscenarios to a second subset of scenarios, wherein the second subset ofscenarios comprises a subset of the second set of scenarios; andgenerating a scenario tree based at least in part upon the first subsetof scenarios and the second subset of scenarios; wherein the scenariotree has interperiod independency.

In another embodiment, a system for providing scenario tree generationbased at least in part upon scenario reduction is provided, the systemcomprising one or more processor units configured for: receiving foreach of a plurality of time periods a respective forecast, wherein theplurality of time periods comprise at least a first time period, atleast a second time period and at least one intermediate time period,and wherein each forecast comprises a respective set of scenarios; foreach time period in sequence, reducing the respective set of scenariosto a respective subset of scenarios, wherein each subset of scenarioscomprises a subset of the respective set of scenarios; and generating ascenario tree based at least in part upon the subset of scenarios;wherein the scenario tree has interperiod independency.

In another embodiment, a method for providing scenario tree generationbased at least in part upon scenario reduction is provided, the methodcomprising: receiving for at least a first time period a first forecast,wherein the first forecast comprises a first set of scenarios; reducingthe first set of scenarios to a first subset of scenarios, wherein thefirst subset of scenarios comprises a subset of the first set ofscenarios; receiving for at least a second time period a secondforecast, wherein the second forecast comprises a second set ofscenarios; reducing the second set of scenarios to a second subset ofscenarios, wherein the second subset of scenarios comprises a subset ofthe second set of scenarios; and generating a scenario tree based atleast in part upon the first subset of scenarios and the second subsetof scenarios; wherein the scenario tree has interperiod independency.

In another embodiment, an article of manufacture is provided,comprising: at least one tangible computer usable medium having acomputer readable program code logic tangibly embodied therein toexecute at least one machine instruction in a processing unit forproviding scenario tree generation based at least in part upon scenarioreduction, said computer readable program code logic, when executing,performing the following steps: receiving for at least a first timeperiod a first forecast, wherein the first forecast comprises a firstset of scenarios; reducing the first set of scenarios to a first subsetof scenarios, wherein the first subset of scenarios comprises a subsetof the first set of scenarios; receiving for at least a second timeperiod a second forecast, wherein the second forecast comprises a secondset of scenarios; reducing the second set of scenarios to a secondsubset of scenarios, wherein the second subset of scenarios comprises asubset of the second set of scenarios; and generating a scenario treebased at least in part upon the first subset of scenarios and the secondsubset of scenarios; wherein the scenario tree has interperiodindependency.

BRIEF DESCRIPTION OF THE DRAWINGS

Various objects, features and advantages of the present invention willbecome apparent to one skilled in the art, in view of the followingdetailed description taken in combination with the attached drawings, inwhich:

FIG. 1 depicts a graph comparing scenario tree generation methodsaccording to embodiments of the present invention.

FIG. 2 depicts a block diagram of a system according to an embodiment ofthe present invention.

FIG. 3 depicts a flowchart according to an embodiment of the presentinvention.

FIG. 4 depicts a flowchart according to an embodiment of the presentinvention.

DETAILED DESCRIPTION

For the purposes of describing and claiming the present invention theterm “scenario” is intended to refer to a postulated event, developmentor occurrence.

For the purposes of describing and claiming the present invention theterm “scenario tree” is intended to refer to a tree-structured discreteprobability distribution.

For the purposes of describing and claiming the present invention theterm “forecast” is intended to refer to an estimation or calculation inadvance.

For the purposes of describing and claiming the present invention theterm “interperiod independency” is intended to refer to the following:if Ξ has interperiod independency property we have:

${\Pr \left( {\Xi = \left( {\xi_{i^{1}},\ldots \mspace{14mu},\xi_{i^{T}}} \right)} \right)} = {{\prod\limits_{t = 1}^{T}\; {\Pr \left( {\Xi^{t} = \xi_{i^{t}}} \right)}} = {\prod\limits_{t = 1}^{T}\; {\rho_{i^{t}}.}}}$

In one embodiment, a system for providing scenario tree generation basedat least in part upon scenario reduction is provided, the systemcomprising one or more processor units configured for: receiving for atleast a first time period a first forecast, wherein the first forecastcomprises a first set of scenarios; reducing the first set of scenariosto a first subset of scenarios, wherein the first subset of scenarioscomprises a subset of the first set of scenarios; receiving for at leasta second time period a second forecast, wherein the second forecastcomprises a second set of scenarios; reducing the second set ofscenarios to a second subset of scenarios, wherein the second subset ofscenarios comprises a subset of the second set of scenarios; andgenerating a scenario tree based at least in part upon the first subsetof scenarios and the second subset of scenarios; wherein the scenariotree has interperiod independency.

In one example, the step of generating comprises using Algorithm 1(shown below) with n^(t) values in the input determined by theoptimization problem in equation 8 (shown below). This Algorithm reducesa tree-structured discrete probability distribution (what we also call“scenario tree”) to another tree-structured probability distributionwith fewer scenarios.

In another example, the steps of reducing comprise applying an input Ξto an algorithm to produce an output {tilde over (Ξ)}.

In another example:

Ξ={ξ}_(i=1) ^(S),ξ_(i)ε

^(T),

with marginal distributions Ξ^(t)={ξ_(i) _(t) }_(i) _(t) _(εI) _(t) ,t=1, . . . , T, n^(t)ε

, t=1, . . . , T.

In another example:

{tilde over (Ξ)}={{tilde over (ξ)}}_(j=1) ^({tilde over (S)}),{tildeover (ξ)}_(i)ε

^(T),

with marginal distributions {tilde over (Ξ)}^(t)={{tilde over (ξ)}_(j)_(t) }_(j) _(t) _(εJ) _(t) , |J^(t)|=n^(t), t=1, . . . , T.

In another example, the algorithm comprises:

$\mspace{20mu} {\left. J^{*t}\leftarrow{\underset{{({{\overset{\sim}{\xi}}_{i}^{t},\mspace{11mu} \ldots \mspace{14mu},{\overset{\sim}{\xi}}_{n^{t}}^{t}})} \in {\mathbb{R}}^{n^{t}}}{\arg \; {minn}}{\sum\limits_{i = 1}^{s}\; {\min\limits_{k = {1\mspace{11mu} \ldots \mspace{14mu} n^{t}}}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{k}^{t}}}}}}} \right.,\mspace{20mu} {t = 1},\ldots \mspace{14mu},{T.\; \mspace{20mu} \left( {{i.e.},\mspace{14mu} {{J^{*_{t}}\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {set}\mspace{14mu} {of}\mspace{14mu} n^{t}} - {{medians}\mspace{14mu} {of}\mspace{14mu} {\Xi^{t}.}}}} \right)}}$$\mspace{20mu} {\left. {I^{t}\left( j^{t} \right)}\leftarrow\left\{ {i^{t} \in I^{t}} \middle| {j^{t} \in {\underset{k^{t} \in J^{*t}}{argminn}\; {\sum\limits_{t = 1}^{T}\; {{\xi_{i^{t}} - {\overset{\sim}{\xi}}_{k^{t}}}}}}} \right\} \right.,\mspace{20mu} {j^{t} \in J^{*t}},{t = 1},\left. {\ldots \mspace{14mu} {T.\mspace{20mu} j}}\leftarrow 0 \right.,\mspace{20mu} {{{for}\mspace{14mu} {all}\mspace{14mu} \left( {j^{1},\ldots \mspace{14mu},j^{T}} \right)} \in {J^{*1} \times \ldots \times J^{*T}\mspace{14mu} {do}}}}$$\mspace{20mu} {\left. j\leftarrow{j + 1} \right.,\mspace{20mu} {{\overset{\sim}{\xi}}_{j} = \left( {{\overset{\sim}{\xi}}_{j^{1}},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{j^{T}}} \right)},\mspace{20mu} \left. {{support}\mspace{14mu} \left( \overset{\sim}{\Xi} \right)}\leftarrow{{{support}\mspace{14mu} \left( \overset{\sim}{\Xi} \right)}\bigcup\left\{ {\overset{\sim}{\xi}}_{j} \right\}} \right.,{{\Pr \left( {\overset{\sim}{\Xi} = {\overset{\sim}{\xi}}_{j}} \right)} = {q_{j} = {\sum\limits_{i^{1} \in {I^{1}{(j^{1})}}}\; {\ldots \mspace{14mu} {\sum\limits_{i^{T} \in {I^{T}{(j^{T})}}}\; {\Pr \left( {\Xi = \left( {\xi_{i^{1}},\ldots \mspace{14mu},\xi_{i^{T}}} \right)} \right)}}}}}},\mspace{20mu} {{end}\mspace{14mu} {for}}}$$\mspace{20mu} {\left. \overset{\sim}{S}\leftarrow j \right.,\mspace{20mu} \begin{matrix}{{D_{K}\left( {\Xi,\overset{\sim}{\Xi}} \right)} = {\sum\limits_{i = 1}^{S}\; {\min\limits_{{j = 1},\mspace{11mu} \ldots \mspace{14mu},\overset{\sim}{S}}{\sum\limits_{t = 1}^{T}\; {p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}} \\{= {\sum\limits_{i = 1}^{S}\; {\sum\limits_{t = 1}^{T}\; {p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j^{t}{(i)}}}}}}}} \\{= {\sum\limits_{t = 1}^{T}\; {{M^{t}\left( n^{t} \right)}.}}}\end{matrix}}$

In another example, the scenario tree is applied to a stochastic unitcommitment problem.

In another example, the stochastic unit commitment problem relates towind power generation.

In another example, each of the first forecast and the second forecastcomprises a forecast of wind speed.

In another example, the steps are carried out in the order recited.

In another embodiment, a system for providing scenario tree generationbased at least in part upon scenario reduction is provided, the systemcomprising one or more processor units configured for: receiving foreach of a plurality of time periods a respective forecast, wherein theplurality of time periods comprise at least a first time period, atleast a second time period and at least one intermediate time period,and wherein each forecast comprises a respective set of scenarios; foreach time period in sequence, reducing the respective set of scenariosto a respective subset of scenarios, wherein each subset of scenarioscomprises a subset of the respective set of scenarios; and generating ascenario tree based at least in part upon the subset of scenarios;wherein the scenario tree has interperiod independency.

In one example, the step of generating comprises using Algorithm 1(shown below) with n^(t) values in the input determined by theoptimization problem in equation 8 (shown below). This Algorithm reducesa tree-structured discrete probability distribution (what we also call“scenario tree”) to another tree-structured probability distributionwith fewer scenarios.

In another example, the steps of reducing comprise applying an input Ξto an algorithm to produce an output {tilde over (Ξ)}.

In another example:

Ξ={ξ}_(i=1) ^(S),ξ_(i)ε

^(T),

with marginal distributions Ξ^(t)={ξ_(i) _(t) }_(i) _(t) _(εI) _(t) ,t=1, . . . , T, n^(t)ε

, t=1, . . . , T.

In another example:

{tilde over (Ξ)}={{tilde over (ξ)}}_(j=1) ^({tilde over (S)}),{tildeover (ξ)}_(i)ε

^(T),

with marginal distributions {tilde over (Ξ)}^(t)={{tilde over (ξ)}_(j)_(t) }_(j) _(t) _(εJ) _(t) , |J^(t)|=n^(t), t=1, . . . , T.

In another example, the algorithm comprises:

$\mspace{20mu} {\left. J^{*t}\leftarrow{\underset{{({{\overset{\sim}{\xi}}_{1}^{t},\mspace{11mu} \ldots \mspace{14mu},{\overset{\sim}{\xi}}_{n^{t}}^{t}})} \in {\mathbb{R}}^{n^{t}}}{argminn}{\sum\limits_{i = 1}^{s}\; {\min\limits_{k = {1\mspace{11mu} \ldots \mspace{14mu} n^{t}}}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{k}^{t}}}}}}} \right.,\mspace{20mu} {t = 1},\ldots \mspace{14mu},\left. {T.\mspace{20mu} \left( {{i.e.},{{J^{*_{t}}\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {set}\mspace{14mu} {of}\mspace{14mu} n^{t}} - {{medians}\mspace{14mu} {of}\mspace{14mu} \Xi^{t}}}} \right).\mspace{20mu} {I^{t}\left( j^{t} \right)}}\leftarrow\left\{ {i^{t} \in I^{t}} \middle| {j^{t} \in {\underset{k^{t} \in J^{*t}}{argminn}{\sum\limits_{t = 1}^{T}\; {{\xi_{i^{t}} - {\overset{\sim}{\xi}}_{k^{t}}}}}}} \right\} \right.,{j^{t} \in J^{*t}},\mspace{20mu} {t = 1},\left. {\ldots \mspace{14mu} {T.\mspace{20mu} j}}\leftarrow 0 \right.,\mspace{20mu} {{{for}\mspace{14mu} {all}\mspace{14mu} \left( {j^{1},\ldots \mspace{14mu},j^{T}} \right)} \in {J^{*1} \times \ldots \times J^{*T}\mspace{14mu} {do}}}}$$\mspace{20mu} {\left. j\leftarrow{j + 1} \right.,\mspace{20mu} {{\overset{\sim}{\xi}}_{j} = \left( {{\overset{\sim}{\xi}}_{j^{1}},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{j^{T}}} \right)},\mspace{20mu} \left. {{support}\left( \overset{\sim}{\Xi} \right)}\leftarrow{{{support}\left( \overset{\sim}{\Xi} \right)}\bigcup\left\{ {\overset{\sim}{\xi}}_{j} \right\}} \right.,{{\Pr \left( {\overset{\sim}{\Xi} = {\overset{\sim}{\xi}}_{j}} \right)} = {q_{j} = {\sum\limits_{i^{1} \in {I^{1}{(j^{1})}}}\; {\ldots \mspace{14mu} {\sum\limits_{i^{T} \in {I^{T}{(j^{T})}}}\; {\Pr \left( {\Xi = \left( {\xi_{i^{1}},\ldots \mspace{14mu},\xi_{i^{T}}} \right)} \right)}}}}}},\mspace{20mu} {{end}\mspace{11mu} {for}}}$$\mspace{20mu} {\left. \overset{\sim}{S}\leftarrow j \right.,\mspace{20mu} \begin{matrix}{{D_{K}\left( {\Xi,\overset{\sim}{\Xi}} \right)} = {\sum\limits_{i = 1}^{S}\; {\min\limits_{{j = 1},\mspace{11mu} \ldots \mspace{14mu},\overset{\sim}{S}}{\sum\limits_{t = 1}^{T}\; {p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}} \\{= {\sum\limits_{i = 1}^{S}\; {\sum\limits_{t = 1}^{T}\; {p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j^{t}{(i)}}}}}}}} \\{= {\sum\limits_{t = 1}^{T}\; {{M^{t}\left( n^{t} \right)}.}}}\end{matrix}}$

In another example, the scenario tree is applied to a stochastic unitcommitment problem.

In another example, the stochastic unit commitment problem relates towind power generation.

In another example, each of the forecasts comprises a forecast of windspeed.

In another example, the steps are carried out in the order recited.

In another embodiment, a method for providing scenario tree generationbased at least in part upon scenario reduction is provided, the methodcomprising: receiving for at least a first time period a first forecast,wherein the first forecast comprises a first set of scenarios; reducingthe first set of scenarios to a first subset of scenarios, wherein thefirst subset of scenarios comprises a subset of the first set ofscenarios; receiving for at least a second time period a secondforecast, wherein the second forecast comprises a second set ofscenarios; reducing the second set of scenarios to a second subset ofscenarios, wherein the second subset of scenarios comprises a subset ofthe second set of scenarios; and generating a scenario tree based atleast in part upon the first subset of scenarios and the second subsetof scenarios; wherein the scenario tree has interperiod independency.

In one example, the step of generating comprises using Algorithm 1(shown below) with n^(t) values in the input determined by theoptimization problem in equation 8 (shown below). This Algorithm reducesa tree-structured discrete probability distribution (what we also call“scenario tree”) to another tree-structured probability distributionwith fewer scenarios.

In another example, the steps of reducing comprise applying an input Ξto an algorithm to produce an output {tilde over (Ξ)}.

In another example:

Ξ={ξ}_(i=1) ^(S),ξ_(i)ε

^(T),

with marginal distributions Ξ^(t)={ξ_(i) _(t) }_(i) _(t) _(εI) _(t) ,t=1, . . . , T, n^(t)ε

, t=1, . . . , T.

In another example:

{tilde over (Ξ)}={{tilde over (ξ)}}_(j=1) ^({tilde over (S)}),{tildeover (ξ)}_(i)ε

^(T),

with marginal distributions {tilde over (Ξ)}^(t)={{tilde over (ξ)}_(j)_(t) }_(j) _(t) _(εJ) _(t) , |J^(t)|=n^(t), t=1, . . . , T, and

wherein the algorithm comprises:

$\mspace{20mu} {\left. J^{*t}\leftarrow{\underset{{({{\overset{\sim}{\xi}}_{i}^{t},\mspace{11mu} \ldots \mspace{14mu},{\overset{\sim}{\xi}}_{n^{t}}^{t}})} \in {\mathbb{R}}^{n^{t}}}{\arg \; {minn}}{\sum\limits_{i = 1}^{s}\; {\min\limits_{k = {1\mspace{11mu} \ldots \mspace{14mu} n^{t}}}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{k}^{t}}}}}}} \right.,\mspace{20mu} {t = 1},\ldots \mspace{14mu},{T.\; \mspace{20mu} \left( {{i.e.},\mspace{14mu} {{J^{*_{t}}\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {set}\mspace{14mu} {of}\mspace{14mu} n^{t}} - {{medians}\mspace{14mu} {of}\mspace{14mu} {\Xi^{t}.}}}} \right)}}$$\mspace{20mu} {\left. {I^{t}\left( j^{t} \right)}\leftarrow\left\{ {i^{t} \in I^{t}} \middle| {j^{t} \in {\underset{k^{t} \in J^{*t}}{argminn}\; {\sum\limits_{t = 1}^{T}\; {{\xi_{i^{t}} - {\overset{\sim}{\xi}}_{k^{t}}}}}}} \right\} \right.,\mspace{20mu} {j^{t} \in J^{*t}},{t = 1},\left. {\ldots \mspace{14mu} {T.\mspace{20mu} j}}\leftarrow 0 \right.,\mspace{20mu} {{{for}\mspace{14mu} {all}\mspace{14mu} \left( {j^{1},\ldots \mspace{14mu},j^{T}} \right)} \in {J^{*1} \times \ldots \times J^{*T}\mspace{14mu} {do}}}}$$\mspace{20mu} {\left. j\leftarrow{j + 1} \right.,\mspace{20mu} {{\overset{\sim}{\xi}}_{j} = \left( {{\overset{\sim}{\xi}}_{j^{1}},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{j^{T}}} \right)},\mspace{20mu} \left. {{support}\mspace{14mu} \left( \overset{\sim}{\Xi} \right)}\leftarrow{{{support}\mspace{14mu} \left( \overset{\sim}{\Xi} \right)}\bigcup\left\{ {\overset{\sim}{\xi}}_{j} \right\}} \right.,{{\Pr \left( {\overset{\sim}{\Xi} = {\overset{\sim}{\xi}}_{j}} \right)} = {q_{j} = {\sum\limits_{i^{1} \in {I^{1}{(j^{1})}}}\; {\ldots \mspace{14mu} {\sum\limits_{i^{T} \in {I^{T}{(j^{T})}}}\; {\Pr \left( {\Xi = \left( {\xi_{i^{1}},\ldots \mspace{14mu},\xi_{i^{T}}} \right)} \right)}}}}}},\mspace{20mu} {{end}\mspace{14mu} {for}}}$$\mspace{20mu} {\left. \overset{\sim}{S}\leftarrow j \right.,\mspace{20mu} \begin{matrix}{{D_{K}\left( {\Xi,\overset{\sim}{\Xi}} \right)} = {\sum\limits_{i = 1}^{S}\; {\min\limits_{{j = 1},\mspace{14mu} \ldots \mspace{14mu},\overset{\sim}{S}}{\sum\limits_{t = 1}^{T}\; {p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}} \\{= {\sum\limits_{i = 1}^{S}\; {\sum\limits_{t = 1}^{T}\; {p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j^{t}{(i)}}}}}}}} \\{= {\sum\limits_{t = 1}^{T}\; {{M^{t}\left( n^{t} \right)}.}}}\end{matrix}}$

In another example, the steps are carried out in the order recited.

In another embodiment, an article of manufacture is provided,comprising: at least one tangible computer usable medium having acomputer readable program code logic tangibly embodied therein toexecute at least one machine instruction in a processing unit forproviding scenario tree generation based at least in part upon scenarioreduction, said computer readable program code logic, when executing,performing the following steps: receiving for at least a first timeperiod a first forecast, wherein the first forecast comprises a firstset of scenarios; reducing the first set of scenarios to a first subsetof scenarios, wherein the first subset of scenarios comprises a subsetof the first set of scenarios; receiving for at least a second timeperiod a second forecast, wherein the second forecast comprises a secondset of scenarios; reducing the second set of scenarios to a secondsubset of scenarios, wherein the second subset of scenarios comprises asubset of the second set of scenarios; and generating a scenario treebased at least in part upon the first subset of scenarios and the secondsubset of scenarios; wherein the scenario tree has interperiodindependency.

In one example, the step of generating comprises using Algorithm 1(shown below) with n^(t) values in the input determined by theoptimization problem in equation 8 (shown below). This Algorithm reducesa tree-structured discrete probability distribution (what we also call“scenario tree”) to another tree-structured probability distributionwith fewer scenarios.

In another example, the steps of reducing comprise applying an input Ξto an algorithm to produce an output {tilde over (Ξ)}.

In another example:

Ξ={ξ}_(i=1) ^(S),ξ_(i)ε

^(T),

with marginal distributions Ξ^(t)={ξ_(i) _(t) }_(i) _(t) _(εI) _(t) ,t=1, . . . , T, n^(t)ε

, t=1, . . . , T,

{tilde over (Ξ)}={{tilde over (ξ)}}_(j=1) ^({tilde over (S)}),{tildeover (ξ)}_(i)ε

^(T),

with marginal distributions {tilde over (Ξ)}^(t)={{tilde over (ξ)}_(j)_(t) }_(j) _(t) _(εJ) _(t) , |J^(t)|=n^(t), t=1, . . . , T, and

wherein the algorithm comprises:

$\mspace{20mu} {\left. J^{*t}\leftarrow{\underset{{({{\overset{\sim}{\xi}}_{1}^{t},\mspace{11mu} \ldots \mspace{14mu},{\overset{\sim}{\xi}}_{n^{t}}^{t}})} \in {\mathbb{R}}^{n^{t}}}{argminn}{\sum\limits_{i = 1}^{s}\; {\min\limits_{k = {1\mspace{11mu} \ldots \mspace{14mu} n^{t}}}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{k}^{t}}}}}}} \right.,\mspace{20mu} {t = 1},\ldots \mspace{14mu},\left. {T.\mspace{20mu} \left( {{i.e.},{{J^{*_{t}}\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {set}\mspace{14mu} {of}\mspace{14mu} n^{t}} - {{medians}\mspace{14mu} {of}\mspace{14mu} \Xi^{t}}}} \right).\mspace{20mu} {I^{t}\left( j^{t} \right)}}\leftarrow\left\{ {i^{t} \in I^{t}} \middle| {j^{t} \in {\underset{k^{t} \in J^{*t}}{argminn}{\sum\limits_{t = 1}^{T}\; {{\xi_{i^{t}} - {\overset{\sim}{\xi}}_{k^{t}}}}}}} \right\} \right.,{j^{t} \in J^{*t}},\mspace{20mu} {t = 1},\left. {\ldots \mspace{14mu} {T.\mspace{20mu} j}}\leftarrow 0 \right.,\mspace{20mu} {{{for}\mspace{14mu} {all}\mspace{14mu} \left( {j^{1},\ldots \mspace{14mu},j^{T}} \right)} \in {J^{*1} \times \ldots \times J^{*T}\mspace{14mu} {do}}}}$$\mspace{20mu} {\left. j\leftarrow{j + 1} \right.,\mspace{20mu} {{\overset{\sim}{\xi}}_{j} = \left( {{\overset{\sim}{\xi}}_{j^{1}},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{j^{T}}} \right)},\mspace{20mu} \left. {{support}\left( \overset{\sim}{\Xi} \right)}\leftarrow{{{support}\left( \overset{\sim}{\Xi} \right)}\bigcup\left\{ {\overset{\sim}{\xi}}_{j} \right\}} \right.,{{\Pr \left( {\overset{\sim}{\Xi} = {\overset{\sim}{\xi}}_{j}} \right)} = {q_{j} = {\sum\limits_{i^{1} \in {I^{1}{(j^{1})}}}\; {\ldots \mspace{14mu} {\sum\limits_{i^{T} \in {I^{T}{(j^{T})}}}\; {\Pr \left( {\Xi = \left( {\xi_{i^{1}},\ldots \mspace{14mu},\xi_{i^{T}}} \right)} \right)}}}}}},\mspace{20mu} {{end}\mspace{11mu} {for}}}$$\mspace{20mu} {\left. \overset{\sim}{S}\leftarrow j \right.,\mspace{20mu} \begin{matrix}{{D_{K}\left( {\Xi,\overset{\sim}{\Xi}} \right)} = {\sum\limits_{i = 1}^{S}\; {\min\limits_{{j = 1},\mspace{14mu} \ldots \mspace{14mu},\overset{\sim}{S}}{\sum\limits_{t = 1}^{T}\; {p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}} \\{= {\sum\limits_{i = 1}^{S}\; {\sum\limits_{t = 1}^{T}\; {p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j^{t}{(i)}}}}}}}} \\{= {\sum\limits_{t = 1}^{T}\; {{M^{t}\left( n^{t} \right)}.}}}\end{matrix}}$

In another example, the steps are carried out in the order recited.

In one embodiment, a method comprises the following: (a) first,forecasts from a forecast model are produced; (b) next, a scenarioreduction technique is used to get a smaller yet representative set ofscenarios. In one example, this two-step procedure is repeated for alltime periods sequentially starting from the first time period goinguntil the last time period. At a time period, the number of scenarios inthe reduced set determines the number of children of that node in thescenario tree, and is given as further input to the method.

In another embodiment, if the forecast model has a closed form withnecessary conditions, the two-step procedure is replaced by a singleoperation that analytically finds a set of scenarios closest to theforecast model.

As mentioned above, optimization under uncertainty has received theattention of many researchers in the last few decades (Sahinidis 2004).Many real-life problems under uncertainty can be modeled as a stochasticprogramming problem in the form:

$\begin{matrix}{{{\min\limits_{x \in X}\; {_{P}{f\left( {\omega,x} \right)}}} \equiv {\min\limits_{x \in X}{\int_{\Omega}^{\;}{{f\left( {\omega,x} \right)}{P\left( {\omega} \right)}}}}}\ ,} & (1)\end{matrix}$

where X⊂

^(n) is a given nonempty convex closed set, Ω a closed subset of

^(s) and

the Borel σ-field relative to Ω, the function ƒ from Ω⊂

^(n) to the extended reals

is measurable with respect to ω and lower semi-continuous and convexwith respect to x, and P is a fixed probability measure on (Ω,

). This formulation models two-stage and multi-stage stochasticprogramming problems with recourse, where X is the feasible set ofdecisions and ƒ(ω, x) evaluates the optimized decisions under thescenario that ω is realized.

Many issues concerning the formulation of model (1) and solutionmethodologies designed to solve it have to be addressed. Model (1) isusually a large-scale problem with multi-stage decisions, P is not knownprecisely, and ƒ is given implicitly as an iterated optimal value. Oneapproach to decrease the size of model (1) and make it computationallytractable is to approximate the probability measure P by a discreteprobability measure with a manageable number of probability atoms.Dupa{hacek over (c)}ovà et al. (2003) and Heitsch and Römisch (2003)consider a version of model (1) with a discrete probability measure P.The authors describe a methodology to reduce P to another discreteprobability distribution with a finite support such that the Kantorovichdistance between the two distributions is minimized. The authors showthat model (1) remains stable to perturbations to its underlyingprobability distribution as long as the Kantorovich distance between theoriginal distribution and the perturbed distribution is kept undercontrol. Here the stability of a stochastic program means that itsoptimal value and the set of its ε-optimal solutions change continuouslywith perturbations to its underlying probability distribution.

Noting that a scenario tree is a discrete probability distribution,Gröve-Kuska and Römisch (2005, Chapter 30) proposes a heuristicalgorithm that generates a scenario tree from a set of sample paths(i.e., possible realizations of a discrete probability distribution)using these scenario reduction techniques such that the Kantorovichdistance between the set of sample paths and the set of scenarios in thescenario tree is minimized. The authors consider a general discreteprobability distribution (scenario tree) and propose only a heuristicalgorithm to reduce it. In this disclosure we assume more structure onthe underlying probability distribution and provide (as one embodiment)an exact algorithm that reduces a discrete distribution to its closestdistribution. We also prove a property of the reduced distribution thathelps in reducing the computational effort of scenario reduction and ingenerating scenario trees from continuous distributions. We applyvarious embodiments to instances of the stochastic unit commitmentproblem.

We first develop a lower bound on the minimum Kantorovich distance thatcan be achieved by reducing a discrete probability distribution to anarbitrary discrete probability distribution with a cardinalityrestriction on the number of distinct realizations at each time period.We then focus on discrete probability distributions that haveinterperiod independency property, and develop an exact reductionalgorithm that finds the reduced distribution closest to it. We showthat the reduction can be performed at each time period of the originaldistribution independent of the other time periods. This decouplingproperty enables us to reduce the combinatorial-sized scenario tree witha much smaller computational effort. This also enables us to reducecontinuous probability measures with interperiod independency propertyto much smaller discrete probability measures by successively applyingMonte Carlo sampling and scenario reduction at each time period.

Reference will now be made to Scenario Tree Generation by ScenarioReduction. Let Ξ={Ξ_(j)}_(i=1) ^(S) be a T-dimensional discreteprobability distribution with finite support, where ξ_(i)ε

^(T), Pr(Ξ=ξ_(i))=p_(i), p_(i)≧0, i=1, . . . , S, Σ_(i=1) ^(S)p_(i)=1.Let {tilde over (Ξ)}={{tilde over (ξ)}}_(j=1) ^({tilde over (S)}) be thereduced distribution with Pr({tilde over (Ξ)}={tilde over(ξ)}_(j))=q_(j), q_(j)≧0, j=1, . . . , {tilde over (S)}, Σ_(j=1) ^(S)q_(j)=1. Let Ξ^(t)({tilde over (Ξ)}^(t)) denote the marginaldistribution of Ξ ({tilde over (Ξ)}) at t^(th) time period, i.e.,

${{\Pr \left( {\Xi^{t} = \xi_{i^{t}}} \right)} = {{\sum\limits_{i = 1}^{S}\; {\Pr \left( {{\Xi = \xi_{i}},{\xi_{i}^{t} = \xi_{i^{t}}}} \right)}} = \rho_{i^{t}}}},{i^{t} \in I^{t}},{t = 1},\ldots \mspace{14mu},T,{{\Pr \left( {{\overset{\sim}{\Xi}}^{t} = {\overset{\sim}{\xi}}_{j^{t}}} \right)} = {{\sum\limits_{j = 1}^{\overset{\sim}{S}}\; {\Pr \left( {{\overset{\sim}{\Xi} = {\overset{\sim}{\xi}}_{j}},{{\overset{\sim}{\xi}}_{j}^{t} = {\overset{\sim}{\xi}}_{j^{t}}}} \right)}} = \pi_{j^{t}}}},{j^{t} \in J^{t}},{t = 1},\ldots \mspace{14mu},T,$

where I^(t) (J^(t)) is the support of Ξ^(t) ({tilde over (Ξ)}^(t)) withcardinality m^(t) (n^(t)). We aim to find a lower bound on the minimumKantorovich distance between Ξ^(t) and an arbitrary distribution {tildeover (Ξ)}^(t) with the number of distinct realization at each timeperiod at most n^(t), t=1, . . . , T.

Reference will now be made to the Lower Bound on the Minimum KantorovichDistance. The Kantorovich distance between Ξ and {tilde over (Ξ)}reduces to the optimal value of a linear transportation problem:

$\begin{matrix}{{{D_{K}\left( {\Xi,\overset{\sim}{\Xi}} \right)} = {\inf \left\{ {{{\sum\limits_{i = 1}^{S}\; {\sum\limits_{j = 1}^{\overset{\sim}{S}}\; {\eta_{ij}{c\left( {\xi_{i},{\overset{\sim}{\xi}}_{j}} \right)}}}}:{\eta_{ij} \geq 0}},{{\sum\limits_{i = 1}^{S}\; \eta_{ij}} = q_{j}},{{\sum\limits_{j = 1}^{\overset{\sim}{S}}\; \eta_{ij}} = p_{i}},{\forall i},{\forall j}} \right\}}},} & (2)\end{matrix}$

where c(ξ_(j), {tilde over (ξ)}_(j))=Σ_(i=1) ^(T)|Ξ_(i) ^(I)−{tilde over(ξ)}_(j) ^(J)|. To obtain a distribution {tilde over (Ξ)} that isclosest to Ξ in terms of the Kantorovich distance, we use arbitraryprobability weights, q_(j), for {tilde over (Ξ)}. The infimization in(2) becomes

$\begin{matrix}{{D_{K}\left( {\Xi,\overset{\sim}{\Xi}} \right)} = {\sum\limits_{i = 1}^{S}\; {p_{i}{\min\limits_{{j = 1},\mspace{11mu} \ldots \mspace{14mu},\overset{\sim}{S}}{\sum\limits_{t = 1}^{T}\; {{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}} & (3)\end{matrix}$

with new probability weights,

${I(j)} = \left\{ {{i = 1},\ldots \mspace{14mu},\left. S \middle| {j \in {\underset{{j = 1},\mspace{11mu} \ldots \mspace{14mu},\overset{\sim}{S}}{argminn}{\sum\limits_{t = 1}^{T}\; {{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}} \right.} \right\}$

where

${q_{j}^{*} = {\sum\limits_{i \in {I{(j)}}}\; p_{i}}},$

The set argminn is a singleton subset of the set argminn obtained by,without loss of generality, deleting all elements of the set argmin butthe smallest one in lexicographic order. To get a lower bound on theKantorovich distance we change the order of summation and minimizationin (3):

$\begin{matrix}\begin{matrix}{{D_{K}\left( {\Xi,\overset{\sim}{\Xi}} \right)} = {{\sum\limits_{i = 1}^{S}{p_{i}{\min\limits_{{j = 1},\ldots \;,\overset{\sim}{S}}{\sum\limits_{t = 1}^{T}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}} \geq}} \\{{\sum\limits_{i = 1}^{S}{p_{i}{\sum\limits_{t = 1}^{T}{\min\limits_{{j = 1},\ldots \;,\overset{\sim}{S}}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}} \\{= {\sum\limits_{t = 1}^{T}{\sum\limits_{i = 1}^{S}{\min\limits_{{j = 1},\ldots \;,\overset{\sim}{S}}{p_{i}{{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}.}}}}}}\end{matrix} & (4)\end{matrix}$

To obtain a lower bound on the minimum Kantorovich distance, we usearbitrary realizations {tilde over (ξ)}_(j) for the reduced distribution{tilde over (Ξ)}, with the restriction that the cardinality of thesupport of {tilde over (Ξ)}^(t) is n^(t), t=1, . . . , T:

$\begin{matrix}{{{{\min\limits_{\overset{\sim}{\Xi} = {\{\overset{\sim}{\xi}\}}_{j = 1}^{\overset{\sim}{S}}}{D_{K}\left( {\Xi,\overset{\sim}{\Xi}} \right)}} \geq {\min\limits_{\overset{\sim}{\Xi} = {\{\overset{\sim}{\xi}\}}_{j = 1}^{\overset{\sim}{S}}}{\sum\limits_{t = 1}^{T}{\sum\limits_{i = 1}^{S}{\min\limits_{{j = 1},\ldots \;,\overset{\sim}{S}}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}}} = {{\underset{\underset{{\overset{\sim}{\xi}}_{\overset{\sim}{S}}^{1},\ldots \;,{\overset{\sim}{\xi}}_{\overset{\sim}{S}}^{T}}{,\ldots \;,}}{\min\limits_{{\overset{\sim}{\xi}}_{1}^{1},\ldots \;,{\overset{\sim}{\xi}}_{1}^{T}}}{\sum\limits_{t = 1}^{T}{\sum\limits_{i = 1}^{S}{\min\limits_{{j = 1},\ldots \;,\overset{\sim}{S}}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}} = {{\sum\limits_{t = 1}^{T}{\min\limits_{{\overset{\sim}{\xi}}_{1}^{t},\ldots \;,{\overset{\sim}{\xi}}_{n^{t}}^{t}}{\sum\limits_{i = 1}^{S}{\min\limits_{{j = 1},\ldots \;,n^{t}}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}} = {\sum\limits_{t = 1}^{T}{M^{t}\left( n^{t} \right)}}}}},} & (5)\end{matrix}$

where M^(t)(1) is the median of the probability distribution Ξ^(t), and,in general, M^(t)(k) is the k-median of Ξ^(t). We note that if we allow{tilde over (Ξ)} to have as many realizations as Ξ, then the reduceddistribution closest to Ξ trivially becomes Ξ itself. In this case,n^(t) becomes equal to m^(t) for t=1, . . . , T, and thus M^(t)(n^(t))becomes equal to zero. Thus, n^(t) is a control parameter on theflexibility of choosing the reduced distribution with as manyrealizations as possible.

Reference will now be made to Discrete Distributions with InterperiodIndependency Property. In this section we focus on discretedistributions with interperiod independency property, and give analgorithm that reduces these distributions to another such distribution.If Ξ has interperiod independency property we have

${\Pr \left( {\Xi = \left( {\xi_{i^{1}},\ldots \mspace{14mu},\xi_{i^{T}}} \right)} \right)} = {{\prod\limits_{t = 1}^{T}{\Pr \left( {\Xi^{t} = \xi_{i^{t}}} \right)}} = {\prod\limits_{t = 1}^{T}{\rho_{i^{t}}.}}}$

We use Algorithm 1 (below) to reduce Ξ to {tilde over (Ξ)}. We show thatthe distance between and {tilde over (Ξ)} is equal to the lower boundprovided by (5). Given i=1, . . . , S, and t=1, . . . , T, we letj^(t)(i)εJ*^(t) denote the smallest index such that |ξ_(i) ^(t)−ξ_(j)_(t) _((i)) ^(t)|≦|ξ_(j) ^(t)−ξ_(j) _(t) ^(t)|, ∀j^(t)εJ^(x) ^(t) . Welet j(i)ε{i, . . . , {tilde over (S)}} such that {tilde over(ξ)}_(j(i))=({tilde over (ξ)}_(j) _(T) _((i))). We note that byconstruction of {tilde over (Ξ)}, such j(i) exists. Then,

${\min\limits_{{j = 1},\ldots \;,\overset{\sim}{S}}{\sum\limits_{t = 1}^{T}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}} = {{\sum\limits_{t = 1}^{T}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j{(i)}}^{t}}}}} = {\sum\limits_{t = 1}^{T}{p_{i}{{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j^{t}{(i)}}}}.}}}}$

Thus,

Algorithm 1, Construct {tilde over (Ξ)} from Ξ

${{{Input}\text{:}\mspace{14mu} \Xi} = \left\{ \xi \right\}_{i = 1}^{S}},{\xi_{i} \in {\mathbb{R}}^{T}},{{{with}\mspace{14mu} {marginal}\mspace{14mu} {distributions}\mspace{14mu} \Xi^{t}} = \left\{ \xi_{i^{t}} \right\}_{i^{t} \in I^{t}}},{t = 1},\ldots \mspace{14mu},T,{n^{t} \in {\mathbb{N}}},{t = {1\mspace{14mu} \ldots}}\mspace{14mu},{{{T.{Output}}\text{:}\mspace{14mu} \overset{\sim}{\Xi}} = \left\{ \overset{\sim}{\xi} \right\}_{j = 1}^{\overset{\sim}{S}}},{{\overset{\sim}{\xi}}_{i} \in {\mathbb{R}}^{T}},{{{with}\mspace{14mu} {marginal}\mspace{14mu} {distributions}\mspace{14mu} {\overset{\sim}{\Xi}}^{t}} = \left\{ {\overset{\sim}{\xi}}_{j^{t}} \right\}_{j^{t} \in j^{t}}},{{J^{t}} = n^{t}},{t = 1},\ldots \mspace{14mu},{T.\ldots}$$\left. J^{*t}\leftarrow{\begin{matrix}{\arg \; \min \; n} \\{\left( {{\overset{\sim}{\xi}}_{1}^{t},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{n^{t}}^{t}} \right) \in {\mathbb{R}}^{n^{t}}}\end{matrix}{\sum\limits_{i = 1}^{s}{\begin{matrix}\min \\{k = {1\mspace{14mu} \ldots \mspace{14mu} n^{t}}}\end{matrix}p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{k}^{t}}}}}} \right.,{t = 1},\ldots \mspace{14mu},{T.\mspace{11mu} \left( {{i.e.},{{J^{*t}\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {set}\mspace{14mu} {of}\mspace{14mu} n^{t}} - {{medians}\mspace{14mu} {of}\mspace{14mu} {\Xi^{t}.}}}} \right)}$$\left. {I^{t}\left( j^{t} \right)}\leftarrow\left\{ {i^{t} \in I^{t}} \middle| {j^{t} \in {\begin{matrix}{\arg \; \min \; n} \\{k^{t} \in J^{*t}}\end{matrix}{\sum\limits_{t = 1}^{T}{{\xi_{i^{t}} - {\overset{\sim}{\xi}}_{k^{t}}}}}}} \right\} \right.,{j^{t} \in J^{*t}},{t = 1},\left. {\ldots \mspace{14mu} {T.j}}\leftarrow 0 \right.,{{{for}\mspace{14mu} {all}\mspace{14mu} \left( {j^{1},\ldots \mspace{14mu},j^{T}} \right)} \in {J^{*1} \times \cdots \times J^{*T}\mspace{14mu} {do}}}$$\left. j\leftarrow{j + 1} \right.,{{\overset{\sim}{\xi}}_{j} = \left( {{\overset{\sim}{\xi}}_{j^{1}},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{j^{T}}} \right)},\left. {{support}\left( \overset{\sim}{\Xi} \right)}\leftarrow{{{support}\left( \overset{\sim}{\Xi} \right)}\bigcup\left\{ {\overset{\sim}{\xi}}_{j} \right\}} \right.,{{\Pr \left( {\overset{\sim}{\Xi} = {\overset{\sim}{\xi}}_{j}} \right)} = {q_{j} = {\underset{i^{1} \in {I^{1}{(j^{1})}}}{\sum\mspace{11mu}}\mspace{14mu} \cdots \mspace{20mu} {\sum\limits_{i^{T} \in {I^{T}{(j^{T})}}}{\Pr \left( {\Xi = \left( {\xi_{i^{1}},\ldots \mspace{14mu},\xi_{i^{T}}} \right)} \right)}}}}},\left. {{end}\mspace{14mu} {for}\overset{\sim}{S}}\leftarrow j \right.,\begin{matrix}{{D_{K}\left( {\Xi,\overset{\sim}{\Xi}} \right)} = {\sum\limits_{i = 1}^{S}{\min\limits_{{j = 1},\ldots \mspace{11mu},\overset{\sim}{S}}{\sum\limits_{t = 1}^{T}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}} \\{= {\sum\limits_{i = 1}^{S}{\sum\limits_{t = 1}^{T}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j^{t}{(i)}}}}}}}} \\{= {\sum\limits_{t = 1}^{T}{{M^{t}\left( n^{t} \right)}.}}}\end{matrix}$

If, in addition, Ξ has interperiod independency property, we have

$\begin{matrix}{\begin{matrix}{{\Pr \left( {\Xi = \left( {\xi_{i^{1}},\ldots \mspace{14mu},\xi_{i^{T}}} \right)} \right)} = {\prod\limits_{t = 1}^{T}{\Pr \left( {\Xi^{t} = \xi_{i^{t}}} \right)}}} \\{= {\prod\limits_{t = 1}^{T}{\rho_{i^{t}}.}}}\end{matrix}{{Thus},{{{for}\mspace{14mu} {\overset{\sim}{\xi}}_{j}} = \left( {{\overset{\sim}{\xi}}_{j^{1}},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{j^{T}}} \right)},}} & \; \\\begin{matrix}{{\Pr \left( {\overset{\sim}{\Xi} = {\overset{\sim}{\xi}}_{j}} \right)} = {\sum\limits_{i^{1} \in {I^{1}{(j^{1})}}}\mspace{14mu} {\cdots \mspace{14mu} {\sum\limits_{i^{T} \in {I^{T}{(j^{T})}}}{\Pr \left( {\Xi = \left( {\xi_{i^{1}},\ldots \mspace{14mu},\xi_{i^{T}}} \right)} \right)}}}}} \\{= {\sum\limits_{i^{1} \in {I^{1}{(j^{1})}}}\mspace{14mu} {\cdots \mspace{14mu} {\sum\limits_{i^{T} \in {I^{T}{(j^{T})}}}{\prod\limits_{t = 1}^{T}\rho_{i^{t}}}}}}} \\{= {\prod\limits_{t = 1}^{T}\left( {\sum\limits_{i^{t} \in {I^{t}{(j^{t})}}}\rho_{i^{t}}} \right)}} \\{= {\prod\limits_{t = 1}^{T}{\Pr \left( {{\overset{\sim}{\Xi}}^{t} = {\overset{\sim}{\xi}}_{j^{t}}} \right)}}} \\{{\prod\limits_{t = 1}^{T}{\pi_{j^{t}}.}}}\end{matrix} & (6)\end{matrix}$

Hence, the reduced distribution has interperiod independency property aswell.

Reference will now be made to a Scenario Tree with Minimum Distance.Given a discrete probability distribution with interperiod independencyproperty, Algorithm 1 allows us to generate a scenario tree closest toit such that the reduced tree has interperiod independency property andhas n^(t) number of realizations at each time period. But, typically thesize of the scenario tree is given by total number of scenariosn(=Π_(i=1) ^(T)n^(t)), not by the number of realizations at each timeperiod. We give an optimization problem that finds a scenario treeclosest to the original distribution with interperiod independencyproperty and with at most n scenarios. Let the binary decision variablez_(η) ^(t) take value 1 if the scenario tree has η scenarios at timeperiod t, and 0 otherwise. Consider the following minimization problem:

$\begin{matrix}{{\min\limits_{z}{\sum\limits_{t = 1}^{T}{\sum\limits_{\eta = 1}^{n}{{M^{t}(\eta)}z_{\eta}^{t}}}}}{{{s.t.{\prod\limits_{t = 1}^{T}\left( {\sum\limits_{\eta = 1}^{n}{\eta \; z_{\eta}^{t}}} \right)}} \leq n},{{\sum\limits_{\eta = 1}^{n}z_{\eta}^{t}} = 1},{t = 1},\ldots \mspace{14mu},T,{z_{\eta}^{t} \in \left\{ {0,1} \right\}},{t = 1},{\ldots \mspace{14mu} T},{\eta = 1},\ldots \mspace{14mu},{n.}}} & (7)\end{matrix}$

This optimization problem gives the parameters (n^(t)) of the closestscenario tree with interperiod independency property and with at most nscenarios We can linearize this by noting that log function isincreasing and by noting the binary nature of the z variables and theconstraint Σ_(η=i) ^(n)z_(η) ^(t)=1, t=1, . . . , T. That is,

$\left. {{\prod\limits_{t = 1}^{T}\left( {\sum\limits_{\eta = 1}^{n}{\eta \; z_{\eta}^{t}}} \right)} \leq n}\Leftrightarrow{{\sum\limits_{t = 1}^{T}{\log\left( {\sum\limits_{\eta = 1}^{n}{\eta \; z_{\eta}^{t}}} \right)}} \leq {\log (n)}}\Leftrightarrow{{\sum\limits_{t = 1}^{T}{\sum\limits_{\eta = 1}^{n}{{\log (\eta)}z_{\eta}^{t}}}} \leq {{\log (n)}.}} \right.$

And thus the linearized problem reads:

$\begin{matrix}{{\min\limits_{z}{\sum\limits_{t = 1}^{T}{\sum\limits_{\eta = 1}^{n}{{M^{t}(\eta)}z_{\eta}^{t}}}}}{{{s.t.\mspace{14mu} {\sum\limits_{t = 1}^{T}{\sum\limits_{\eta = 1}^{n}{{\log (\eta)}z_{\eta}^{t}}}}} \leq {\log (n)}},{{\sum\limits_{\eta = 1}^{n}z_{\eta}^{t}} = 1},{t = 1},\ldots \mspace{14mu},T,{z_{\eta}^{t} \in \left\{ {0,1} \right\}},{t = 1},\ldots \mspace{14mu},T,{\eta = 1},\ldots \mspace{14mu},{n.}}} & (8)\end{matrix}$

Reference will now be made to an Application to a Stochastic UnitCommitment Problem. This example unit commitment problem relates tofinding an optimal up and down schedule and corresponding generationamounts for a set of generators over a twenty-four-hour horizon so thattotal cost of generation and transmission is minimized, and a set ofconstraints, such as demand requirements, upper and lower limits ofgeneration, minimum up/down time limits, ramp up/down constraints,transmission constraints is observed. Unit commitment (UC) lies at thecore of planning and operational decisions faced by independent systemoperators (ISOs), regional transmission organizations (RTOs), andutility companies. Hence it has received a good deal of attention in theindustry.

The academic literature on the unit commitment problem dates back to the1960s. An integer programming approach proposed by Dillon et al. (1978)was one of the earliest optimization-based approaches to the unitcommitment problem. The authors address the unit commitment problem ofhydro-thermal systems with reserve requirements. It was one of theearliest papers that can solve real life problems with 20 units. Theauthors developed two sets of valid inequalities that were globallyvalid to the problem and used these inequalities in the branch-and-boundalgorithm. The dynamic programming approach developed by Snyder et al.[W. L. Snyder Jr., H. D. Powell, Jr, and J. C. Rayburn, “Dynamicprogramming approach to unit commitment”, IEEE Transactions PowerSystems, 2 (1987), p. 339-347] was one of the earliest successfuldynamic programming algorithms. The algorithm featured a classificationof units so as to reduce the number of states. The authors addressed theproblem at San Diego Gas & Electric System with 30 generators. Expertsystems [Z. Ouyang, and S. M. Shahidehpour, “Short-term unit commitmentexpert system”, Electric Power Systems Research, 20 (1990), pp. 1-13],fuzzy logic [S. Saneifard, N. R. Prasad, and H. A. Smolleck, “A fuzzylogic approach to unit commitment”, IEEE Transactions on Power Systems,12 (1997), pp. 988-995], meta-heuristic algorithms [A. H. Mantawy, Y. L.Abdel-Magid, and S. Z. Selim, “Integrating genetic algorithms, tabusearch and simulated annealing for the unit commitment problem,” IEEETransactions Power Systems, 14 (1999), pp. 829-836], and ant colonysystems [S. J. Huang, “Enhancement of hydroelectric generationscheduling using ant colony system based optimization approaches”, IEEETransactions on Energy Conservation, 16 (2001), pp. 296-301] are amongthe other approaches that have been applied to the unit commitmentproblem. Surveys by Sheble and Fand [G. B. Sheble, G. N. Fand, “Unitcommitment—Literature synopsis”, IEEE Transactions on Power Systems, 9(1994), pp. 128-135] and by Padhy [N. P. Padhy, “Unit commitment—Abibliographical survey”, IEEE Transactions on Power Systems, 19 (2004),pp. 1196-2005] review the academic literature on the unit commitmentproblem, and the book by Wood and Wollenberg [A. J. Wood and B. F.Wollenburg, “Power Generation Operation and Control”, John Wiley andSons, New York, 1996] addresses several operational and planningproblems in the energy industry, including the unit commitment problem.We first give a deterministic version of the unit commitment problem andthen introduce the stochastic unit commitment problem:

Indices and sets:

i ε I generators t ε {1, . . . , T} time periods

Data:

S_(i)(.) startup cost function of unit i H_(i)(.) shutdown cost functionof unit i f_(i)(.) generation cose function of unit i (Q_(i), q_(i))maximum and minimum amounts for units i's offer (R_(i), r_(i)) ramp-upand ramp-down amounts for unit i (L_(i), l_(i)) minimum up and downtimes for unit i d_(t) load at time period tDecision variables:

g_(it) generation provided by unit i at time period t s_(it) binaryvariable indicating if unit i started at time period t u_(it) binaryvariable indicating if unit i is on at time period t ū_(it) vector ofu_(it) variables. ū_(it) ≡ (u_(iτ)), τ = t − l_(i) + 1, . . . , t. For τ< 0, u_(it) is set to the on/off state of unit i at time period τ. u_(it) vector of u_(it) variables. u _(it) ≡ (u_(iτ)), τ = t − L_(i) + 1,. . . , t. For τ < 0, u_(it) is set to the on/off state of unit i attime period τ.

Formulation:

$\begin{matrix}{{\min\limits_{g,u,s}{\sum\limits_{t = 1}^{T}{\sum\limits_{i \in I}{S_{i}\left( {\overset{\_}{u}}_{it} \right)}}}} + {H_{i}\left( {\underset{\_}{u}}_{it} \right)} + {f_{i}\left( g_{it} \right)}} & \left( {9a} \right) \\{{{s.t.\mspace{14mu} {\sum\limits_{i \in I}g_{it}}} \geq d_{t}},{t = 1},\ldots \mspace{14mu},T,} & \left( {9b} \right) \\{{{q_{i}u_{it}} \leq g_{it} \leq {Q_{i}u_{it}}},{i \in I},{t = 1},\ldots \mspace{14mu},T} & \left( {9c} \right) \\{{s_{it} \geq {u_{it} - u_{i,{t - 1}}}},{i \in I},{t = 1},\ldots \mspace{14mu},T} & \left( {9d} \right) \\{{{g_{it} - g_{i,{t - 1}}} \leq R_{i}},{i \in I},{t = 1},\ldots \mspace{14mu},T} & \left( {9e} \right) \\{{{g_{i,{t - 1}} - g_{it}} \leq r_{i}},{i \in I},{t = 1},\ldots \mspace{14mu},T} & \left( {9f} \right) \\{{{\sum\limits_{\tau = {{ma}\; x{\{{1,{t - L_{i} + 1}}\}}}}^{t}s_{i\; \tau}} \leq u_{it}},{i \in I},{t = 1},\ldots \mspace{14mu},T} & \left( {9g} \right) \\{{{\sum\limits_{\tau = {t + 1}}^{m\; i\; n{\{{T,{t + l_{i}}}\}}}s_{i\; \tau}} \leq {1 - u_{it}}},{i \in I},{t = 1},\ldots \mspace{14mu},T} & \left( {9h} \right) \\{{u_{it} \in \left\{ {0,1} \right\}},{s_{it} \in \left\{ {0,1} \right\}},{g_{it} \geq 0},{i \in I},{t = 1},\ldots \mspace{14mu},T} & \left( {9i} \right)\end{matrix}$

Objective function (9a) is the total cost of generation summed over alltime periods. Cost of generation includes startup cost, shutdown cost,and fuel cost. Startup (shutdown) cost can be a step function that takesits highest step value when the unit has been down (up) for a certainnumber of time periods, or it can be a piecewise function that increaseswith the number of time periods the unit has been down (up). Fuel costmay be a nonlinear function of generation level, which may not beconvex. Constraint (9b) requires total generation be greater than theload. Constraint (9c) has two functions: If the unit is down, it forcesthe generation to be zero; and, if the unit is up, it arranges thegeneration level to be between the upper and lower limits of thegenerator. Constraint (9d) links the start-up variables to up/downvariables. Constraints (9e) and (9f) handle ramp-up and ramp-downlimits. Constraint (9g) is for minimum up time and constraint (9h) isfor minimum down time requirement. Finally constraint (9i) puts binaryand normegativity requirements.

Minimum up/down time constraints are sometimes formulated as

u _(it) −u _(i,t−1) ≦u _(iτ) ,τε{t+1, . . . ,min{t+L _(i),T}},iεI,tεT  (10a)

u _(i,t−1) −u _(it)≦1−u _(iτ) ,τε{t+1, . . . ,min{t+l _(i),T}},iεI,tεT  (10b)

If the set of constraints (10) is used to model the minimum up/down timeconstraints, there is no need to introduce variable s_(it) in model (9).Rajan and Takriti claims that constraints (9d), (9g), and (9h) model theminimum up/down time polytope.

We use a stochastic programming approach to address the uncertainty andintermittency of the wind power. We assume that the uncertainty evolvesas a discrete time stochastic process with a finite probability space.We represent the information structure as a rooted scenario tree wherethe nodes n (nεN) in level t (tεT) of the scenario tree constitute thestates of the world that can be distinguished by the informationavailable up to time period t (Ahmed et al. 2003, Singh et al. 2009).The set of leaf nodes, N_(L) (N_(L)⊂N), contains the nodes without anysuccessor. The root node is the node without any predecessor. Ingeneral, n(τ)εN represents the τ^(th) predecessor of node n. The levelof the root node is zero, and in general the level of a node, t_(n), isdefined such that n(t_(n)) is the root node. The tree has a depth of T,and all leaf nodes have a level of T. By convention, n(0) is the node nitself, and n(τ), τ>t_(n), is an empty set.

The root node has an occurrence probability of one. For each node nεN,π_(n) denotes the probability that the corresponding state of the worldoccurs given that its predecessor, n(1), has occurred; and p_(n) denotesthe unconditional probability that the corresponding state occurs, i.e.,p_(n)=Π_(τ=0) ^(t) ^(n) ⁻¹π_(n(τ)). There is a one-to-one matchingbetween the leaf nodes of the scenario tree and the scenarios. Given aleaf node, nεN_(L), a T-tuple [n(T),n(T−1), . . . , n(1),n] represents ascenario with probability of occurrence equal to p_(n). Two scenariossharing the same state of the world at time periods 1, . . . , τ, forsome τ<T, have to observe the same set of decision variables in theoptimization model, in order to make sure that the model does not cheatby foreseeing (anticipating) the future. Using only a single set ofdecision variables for each node guarantees such a non-anticipativityproperty, and yet keeps the model size small as compared to using aseparate set of decision variables for each scenario and for each timeperiod and setting the variables equal to each other (Tahiti et al.2000, Lulli and Sen 2004).

The stochastic unit commitment model is an extension of model (9), wherenodes n in the scenario tree replace the time periods t in thedeterministic model (9).

Formulation:

$\begin{matrix}{{\min\limits_{g,u,s}{\sum\limits_{n \in N}{p_{n}{\sum\limits_{i \in I}{S_{i}\left( {\overset{\_}{u}}_{i\; n} \right)}}}}} + {H_{i}\left( {\underset{\_}{u}}_{i\; n} \right)} + {f_{i}\left( g_{i\; n} \right)}} & \left( {11a} \right) \\{{{s.t.\mspace{14mu} {\sum\limits_{i \in I}g_{i\; n}}} \geq d_{n}},{n \in N},} & \left( {11b} \right) \\{{{q_{i}u_{i\; n}} \leq g_{i\; n} \leq {Q_{i}u_{i\; n}}},{i \in I},{n \in N}} & \left( {11c} \right) \\{{s_{i\; n} \geq {u_{i\; n} - u_{i,{n{(1)}}}}},{i \in I},{n \in N}} & \left( {11d} \right) \\{{{g_{i\; n} - g_{i,{n{(1)}}}} \leq R_{i}},{i \in I},{n \in N}} & \left( {11e} \right) \\{{{g_{i,{n{(1)}}} - g_{i\; n}} \leq r_{i}},{i \in I},{n \in N}} & \left( {11f} \right) \\{{{\sum\limits_{\tau = 0}^{L_{i} - 1}s_{i,{n{(\tau)}}}} \leq u_{i\; n}},{i \in I},{n \in N}} & \left( {11g} \right) \\{{{\sum\limits_{\tau = 1}^{l_{i} - 1}s_{i,{n{(\tau)}}}} \leq {1 - u_{i,{n{(l_{i})}}}}},{i \in I},{{n\text{:}{n\left( l_{i} \right)}} \in N}} & \left( {11h} \right) \\{{{\sum\limits_{\tau = 1}^{l_{i} - 1 - p}s_{i,{n{(\tau)}}}} \leq {1 - u_{i,{n{({l_{i} - p})}}}}},{i \in I},{n \in N_{L}},{p \in \left\{ {1,\ldots \mspace{14mu},{l_{i} - 1}} \right\}}} & \left( {11i} \right) \\{{u_{i\; n} \in \left\{ {0,1} \right\}},{s_{i\; n} \in \left\{ {0,1} \right\}},{g_{i\; n} \geq 0}} & \left( {11j} \right)\end{matrix}$

We consider a simple wind model example with four time periods. Windspeed at each time period follows a Gaussian random variable with a meanof 10 miles per hour and a standard deviation of 2.5 miles per hour. Wecompare three approaches to generate a scenario tree. First approachsamples five points from the Gaussian random variable for each timeperiod and constructs a scenario tree with 625 scenarios (see “5-sample”in FIG. 1, graphed as square points). We solve the stochastic unitcommitment problem using this tree. We repeat this process fifty timesand take cumulative average of the optimal value of the problem. Thesecond approach does similarly by sampling 3 scenarios per time periodwith a total of 81 scenarios (see “3-sample” in FIG. 1, graphed asdiamond points). And the third approach uses the above scenarioreduction technique. It first generates 100 samples from the Gaussianrandom variable, and then reduces it to 3 points. It generates ascenario tree for four time periods using these 3 points with a total of81 scenarios (see “3-s-r” in FIG. 1, graphed as x points). FIG. 1 showsbetter convergence of the last approach, as it is actually reducing ascenario tree with 100³=1000000 scenarios to 3³=81 scenarios, whereasthe first approach uses only 625 scenarios and the second approach uses81 scenarios. We also observe the better convergence of the firstapproach over the second, as it uses more scenarios.

Referring now to FIG. 2, this Fig. shows a hardware configuration ofcomputing system 200 according to an embodiment of the presentinvention. As seen, this hardware configuration has at least oneprocessor or central processing unit (CPU) 211. The CPUs 211 areinterconnected via a system bus 212 to a random access memory (RAM) 214,read-only memory (ROM) 216, input/output (I/O) adapter 218 (forconnecting peripheral devices such as disk units 221 and tape drives 240to the bus 212), user interface adapter 222 (for connecting a keyboard224, mouse 226, speaker 228, microphone 232, and/or other user interfacedevice to the bus 212), a communications adapter 234 for connecting thesystem 200 to a data processing network, the Internet, an Intranet, alocal area network (LAN), etc., and a display adapter 236 for connectingthe bus 212 to a display device 238 and/or printer 239 (e.g., a digitalprinter or the like).

Referring now to FIG. 3, a flowchart according to an embodiment of thepresent invention is shown. As seen, in this example, step 301 isreceiving for at least a first time period a first forecast, wherein thefirst forecast comprises a first set of scenarios. Further, step 303 isreducing the first set of scenarios to a first subset of scenarios,wherein the first subset of scenarios comprises a subset of the firstset of scenarios. Further, step 305 is receiving for at least a secondtime period a second forecast, wherein the second forecast comprises asecond set of scenarios. Further, step 307 is reducing the second set ofscenarios to a second subset of scenarios, wherein the second subset ofscenarios comprises a subset of the second set of scenarios. Further,step 309 is generating a scenario tree based at least in part upon thefirst subset of scenarios and the second subset of scenarios.

Referring now to FIG. 4, a flowchart according to an embodiment of thepresent invention is shown. As seen, in this example, step 401 isreceiving for each of a plurality of time periods a respective forecast,wherein the plurality of time periods comprise at least a first timeperiod, at least a second time period and at least one intermediate timeperiod, and wherein each forecast comprises a respective set ofscenarios. Further, step 403 is for each time period in sequence,reducing the respective set of scenarios to a respective subset ofscenarios, wherein each subset of scenarios comprises a subset of therespective set of scenarios. Further, step 405 is generating a scenariotree based at least in part upon the subset of scenarios.

In another example, various embodiments may relate to manufacturingoperations (e.g., industrial). In another example, various embodimentsmay relate to energy distribution and intelligent utility networks(IUN). In another example, various embodiments may relate to the“Smarter Planet” area. In another example, various embodiments mayrelate to operations and manufacturing applications (e.g., software).

In another example, various embodiments may provide an E&U specificsolution to ILOG. In another example, various embodiments may provide adifferentiating solution for E&U for the “SmartGrid” area.

In other examples, any steps described herein may be carried out in anyappropriate desired order.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device. The containment (or storage) of the program may benon-transitory.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any programming language or anycombination of one or more programming languages, including an objectoriented programming language such as Java, Smalltalk, C++ or the likeor a procedural programming language, such as the “C” programminglanguage or similar programming languages. The program code may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider).

Aspects of the present invention may be described herein with referenceto flowchart illustrations and/or block diagrams of methods, systemsand/or computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus or other devices provideprocesses for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

The flowcharts and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowcharts or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some implementations, the functions noted in the block mayoccur out of the order noted in the figures. For example, two blocksshown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustrations,and combinations of blocks in the block diagrams and/or flowchartillustrations, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

It is noted that the foregoing has outlined some of the objects andembodiments of the present invention. This invention may be used formany applications. Thus, although the description is made for particulararrangements and methods, the intent and concept of the invention issuitable and applicable to other arrangements and applications. It willbe clear to those skilled in the art that modifications to the disclosedembodiments can be effected without departing from the spirit and scopeof the invention. The described embodiments ought to be construed to bemerely illustrative of some of the features and applications of theinvention. Other beneficial results can be realized by applying thedisclosed invention in a different manner or modifying the invention inways known to those familiar with the art. In addition, all of theexamples disclosed herein are intended to be illustrative, and notrestrictive.

What is claimed is:
 1. A system for providing scenario tree generationbased at least in part upon scenario reduction, the system comprisingone or more processor units configured for: receiving for at least afirst time period a first forecast, wherein the first forecast comprisesa first set of scenarios; reducing the first set of scenarios to a firstsubset of scenarios, wherein the first subset of scenarios comprises asubset of the first set of scenarios; receiving for at least a secondtime period a second forecast, wherein the second forecast comprises asecond set of scenarios; reducing the second set of scenarios to asecond subset of scenarios, wherein the second subset of scenarioscomprises a subset of the second set of scenarios; and generating ascenario tree based at least in part upon the first subset of scenariosand the second subset of scenarios; wherein the scenario tree hasinterperiod independency.
 2. The system of claim 1, wherein the steps ofreducing comprise applying an input Ξ to an algorithm to produce anoutput {tilde over (Ξ)}.
 3. The system of claim 2, wherein:Ξ={ξ}_(i=1) ^(S),ξ_(i)ε

^(T), with marginal distributions Ξ^(t)={ξ_(i) _(t) }_(i) _(t) _(εI)_(t) , t=1, . . . , T, n^(t)ε

, t=1, . . . , T.
 4. The system of claim 2, wherein:{tilde over (Ξ)}={{tilde over (ξ)}}_(j=1) ^({tilde over (S)}),{tildeover (ξ)}_(i)λ

^(T), with marginal distributions {tilde over (Ξ)}^(t)={{tilde over(ξ)}_(j) _(t) }_(j) _(t) _(εJ) _(t) , |J^(t)|=n^(t), t=1, . . . , T. 5.The system of claim 2, wherein the algorithm comprises:$\left. J^{*t}\leftarrow{\begin{matrix}{\arg \; \min \; n} \\{\left( {{\overset{\sim}{\xi}}_{1}^{t},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{n^{t}}^{t}} \right) \in {\mathbb{R}}^{n^{t}}}\end{matrix}{\sum\limits_{i = 1}^{s}{\begin{matrix}\min \\{k = {1\mspace{14mu} \ldots \mspace{14mu} n^{t}}}\end{matrix}p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{k}^{t}}}}}} \right.,{t = 1},\ldots \mspace{14mu},{T.\left( {{i.e.},{{J^{*t}\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {set}\mspace{14mu} {of}\mspace{14mu} n^{t}} - {{medians}\mspace{14mu} {of}\mspace{14mu} {\Xi^{t}.}}}} \right)}$$\left. {I^{t}\left( j^{t} \right)}\leftarrow\left\{ {i^{t} \in I^{t}} \middle| {j^{t} \in {\begin{matrix}{\arg \; \min \; n} \\{k^{t} \in J^{*t}}\end{matrix}{\sum\limits_{t = 1}^{T}{{\xi_{i^{t}} - {\overset{\sim}{\xi}}_{k^{t}}}}}}} \right\} \right.,{j^{t} \in J^{*t}},{t = 1},\left. {\ldots \mspace{14mu} {T.j}}\leftarrow 0 \right.,{{{for}\mspace{14mu} {all}\mspace{14mu} \left( {j^{1},\ldots \mspace{14mu},j^{T}} \right)} \in {J^{*1} \times \cdots \times J^{*T}\mspace{14mu} {do}}}$$\left. j\leftarrow{j + 1} \right.,\left. {{support}\left( \overset{\sim}{\Xi} \right)}\leftarrow{{{support}\left( \overset{\sim}{\Xi} \right)}\bigcup\left\{ {\overset{\sim}{\xi}}_{j} \right\}} \right.,\begin{matrix}{{\Pr \left( {\overset{\sim}{\Xi} = {\overset{\sim}{\xi}}_{j}} \right)} = q_{j}} \\{{= {\sum\limits_{i^{1} \in {I^{1}{(j^{1})}}}\mspace{14mu} {\cdots \mspace{14mu} {\sum\limits_{i^{T} \in {I^{T}{(j^{T})}}}{\Pr \left( {\Xi = \left( {\xi_{i^{1}},\ldots \mspace{14mu},\xi_{i^{T}}} \right)} \right)}}}}},}\end{matrix}$ end  for$\left. \overset{\sim}{S}\leftarrow j \right.,\begin{matrix}{{D_{K}\left( {\Xi,\overset{\sim}{\Xi}} \right)} = {\sum\limits_{i = 1}^{S}{\min\limits_{{j = 1},\ldots \mspace{14mu},\overset{\sim}{S}}{\sum\limits_{t = 1}^{T}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}} \\{= {\sum\limits_{i = 1}^{S}{\sum\limits_{t = 1}^{T}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j^{t}{(i)}}}}}}}} \\{= {\sum\limits_{t = 1}^{T}{{M^{t}\left( n^{t} \right)}.}}}\end{matrix}$
 6. The system of claim 1, further comprising applying thescenario tree to a stochastic unit commitment problem.
 7. The system ofclaim 6, wherein the stochastic unit commitment problem relates to windpower generation.
 8. The system of claim 7, wherein each of the firstforecast and the second forecast comprises a forecast of wind speed. 9.The system of claim 1, wherein the steps are carried out in the orderrecited.
 10. A system for providing scenario tree generation based atleast in part upon scenario reduction, the system comprising one or moreprocessor units configured for: receiving for each of a plurality oftime periods a respective forecast, wherein the plurality of timeperiods comprise at least a first time period, at least a second timeperiod and at least one intermediate time period, and wherein eachforecast comprises a respective set of scenarios; for each time periodin sequence, reducing the respective set of scenarios to a respectivesubset of scenarios, wherein each subset of scenarios comprises a subsetof the respective set of scenarios; and generating a scenario tree basedat least in part upon the subset of scenarios; wherein the scenario treehas interperiod independency.
 11. The system of claim 10, wherein thesteps of reducing comprise applying an input Ξ to an algorithm toproduce an output {tilde over (Ξ)}.
 12. The system of claim 11, wherein:Ξ={ξ}_(i=1) ^(S),ξ_(i)ε

^(T), with marginal distributions Ξ^(t)={ξ_(i) _(t) }_(i) _(t) _(εI)_(t) , t=1, . . . , T, n^(t)ε

, t=1, . . . , T.
 13. The system of claim 11, wherein:{tilde over (Ξ)}={{tilde over (ξ)}}_(j=1) ^({tilde over (S)}),{tildeover (ξ)}_(i)ε

^(T), with marginal distributions {tilde over (Ξ)}^(t)={{tilde over(ξ)}_(j) _(t) }_(j) _(t) _(εJ) _(t) , |J^(t)|=n^(t), t=1, . . . , T. 14.The system of claim 11, wherein the algorithm comprises:$\left. J^{*t}\leftarrow{\begin{matrix}{\arg \; \min \; n} \\{\left( {{\overset{\sim}{\xi}}_{1}^{t},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{n^{t}}^{t}} \right) \in {\mathbb{R}}^{n^{t}}}\end{matrix}{\sum\limits_{i = 1}^{S}{\begin{matrix}\min \\{k = {1\mspace{14mu} \ldots \mspace{14mu} n^{t}}}\end{matrix}p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{k}^{t}}}}}} \right.,{t = 1},\ldots \mspace{14mu},{T.\left( {{i.e.},{{J^{*t}\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {set}\mspace{14mu} {of}\mspace{14mu} n^{t}} - {{medians}\mspace{14mu} {of}\mspace{14mu} {\Xi^{t}.}}}} \right)}$$\left. {I^{t}\left( j^{t} \right)}\leftarrow\left\{ {i^{t} \in I^{t}} \middle| {j^{t} \in {\begin{matrix}{\arg \; \min \; n} \\{k^{t} \in J^{*t}}\end{matrix}{\sum\limits_{t = 1}^{T}{{\xi_{i^{t}} - {\overset{\sim}{\xi}}_{k^{t}}}}}}} \right\} \right.,{j^{t} \in J^{*t}},{t = 1},\left. {\ldots \mspace{14mu} {T.j}}\leftarrow 0 \right.,{{{for}\mspace{14mu} {all}\mspace{14mu} \left( {j^{1},\ldots \mspace{14mu},j^{T}} \right)} \in {J^{*1} \times \cdots \times J^{*T}\mspace{14mu} {do}}}$$\left. j\leftarrow{j + 1} \right.,{{\overset{\sim}{\xi}}_{j} = \left( {{\overset{\sim}{\xi}}_{j^{1}},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{j^{T}}} \right)},\left. {{support}\left( \overset{\sim}{\Xi} \right)}\leftarrow{{{support}\left( \overset{\sim}{\Xi} \right)}\bigcup\left\{ {\overset{\sim}{\xi}}_{j} \right\}} \right.,\begin{matrix}{{\Pr \left( {\overset{\sim}{\Xi} = {\overset{\sim}{\xi}}_{j}} \right)} = q_{j}} \\{{= {\sum\limits_{i^{1} \in {I^{1}{(j^{1})}}}\mspace{14mu} {\cdots \mspace{14mu} {\sum\limits_{i^{T} \in {I^{T}{(j^{T})}}}{\Pr \left( {\Xi = \left( {\xi_{i^{1}},\ldots \mspace{14mu},\xi_{i^{T}}} \right)} \right)}}}}},}\end{matrix}$ end  for$\left. \overset{\sim}{S}\leftarrow{j.\begin{matrix}{{D_{K}\left( {\Xi,\overset{\sim}{\Xi}} \right)} = {\sum\limits_{i = 1}^{S}{\min\limits_{{j = 1},\ldots \;,\overset{\sim}{S}}{\sum\limits_{t = 1}^{T}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}} \\{= {\sum\limits_{i = 1}^{S}{\sum\limits_{t = 1}^{T}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j^{t}{(i)}}}}}}}} \\{= {\sum\limits_{t = 1}^{T}{{M^{t}\left( n^{t} \right)}.}}}\end{matrix}} \right.$
 15. The system of claim 10, further comprisingapplying the scenario tree to a stochastic unit commitment problem. 16.The system of claim 15, wherein the stochastic unit commitment problemrelates to wind power generation.
 17. The system of claim 16, whereineach of the forecasts comprises a forecast of wind speed.
 18. The systemof claim 10, wherein the steps are carried out in the order recited. 19.A method for providing scenario tree generation based at least in partupon scenario reduction, the method comprising: receiving for at least afirst time period a first forecast, wherein the first forecast comprisesa first set of scenarios; reducing the first set of scenarios to a firstsubset of scenarios, wherein the first subset of scenarios comprises asubset of the first set of scenarios; receiving for at least a secondtime period a second forecast, wherein the second forecast comprises asecond set of scenarios; reducing the second set of scenarios to asecond subset of scenarios, wherein the second subset of scenarioscomprises a subset of the second set of scenarios; and generating ascenario tree based at least in part upon the first subset of scenariosand the second subset of scenarios; wherein the scenario tree hasinterperiod independency.
 20. The method of claim 19, wherein the stepsof reducing comprise applying an input Ξ to an algorithm to produce anoutput {tilde over (Ξ)}.
 21. The method of claim 20, wherein:Ξ={ξ}_(i=1) ^(S),ξ_(i)ε

^(T), with marginal distributions Ξ^(t)={ξ_(i) _(t) }_(i) _(t) _(εI)_(t) , t=1, . . . , T, n^(t)ε

, t=1, . . . , T,{tilde over (Ξ)}={{tilde over (ξ)}}_(j=1) ^({tilde over (S)}),{tildeover (ξ)}_(i)ε

^(T), with marginal distributions {tilde over (Ξ)}^(t)={{tilde over(ξ)}_(j) _(t) }_(j) _(t) _(εJ) _(t) , |J^(t)|=n^(t), t=1, . . . , T, andwherein the algorithm comprises: $\left. J^{*t}\leftarrow{\begin{matrix}{\arg \; \min \; n} \\{\left( {{\overset{\sim}{\xi}}_{1}^{t},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{n^{t}}^{t}} \right) \in {\mathbb{R}}^{n^{t}}}\end{matrix}{\sum\limits_{i = 1}^{S}{\begin{matrix}\min \\{k = {1\mspace{14mu} \ldots \mspace{14mu} n^{t}}}\end{matrix}p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{k}^{t}}}}}} \right.,{t = 1},\ldots \mspace{14mu},{T.\left( {{i.e.},{{J^{*t}\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {set}\mspace{14mu} {of}\mspace{14mu} n^{t}} - {{medians}\mspace{14mu} {of}\mspace{14mu} {\Xi^{t}.}}}} \right)}$$\left. {I^{t}\left( j^{t} \right)}\leftarrow\left\{ {i^{t} \in I^{t}} \middle| {j^{t} \in {\begin{matrix}{\arg \; \min \; n} \\{k^{t} \in J^{*t}}\end{matrix}{\sum\limits_{t = 1}^{T}{{\xi_{i^{t}} - {\overset{\sim}{\xi}}_{k^{t}}}}}}} \right\} \right.,{j^{t} \in J^{*t}},{t = 1},\left. {\ldots \mspace{14mu} {T.j}}\leftarrow 0 \right.,{{{for}\mspace{14mu} {all}\mspace{14mu} \left( {j^{1},\ldots \mspace{14mu},j^{T}} \right)} \in {J^{*1} \times \cdots \times J^{*T}\mspace{14mu} {do}}}$$\left. j\leftarrow{j + 1} \right.,{{\overset{\sim}{\xi}}_{j} = \left( {{\overset{\sim}{\xi}}_{j^{1}},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{j^{T}}} \right)},\left. {{support}\left( \overset{\sim}{\Xi} \right)}\leftarrow{{{support}\left( \overset{\sim}{\Xi} \right)}\bigcup\left\{ {\overset{\sim}{\xi}}_{j} \right\}} \right.,\begin{matrix}{{\Pr \left( {\overset{\sim}{\Xi} = {\overset{\sim}{\xi}}_{j}} \right)} = q_{j}} \\{{= {\sum\limits_{i^{1} \in {I^{1}{(j^{1})}}}\mspace{14mu} {\cdots \mspace{14mu} {\sum\limits_{i^{T} \in {I^{T}{(j^{T})}}}{\Pr \left( {\Xi = \left( {\xi_{i^{1}},\ldots \mspace{14mu},\xi_{i^{T}}} \right)} \right)}}}}},}\end{matrix}$ end  for$\left. \overset{\sim}{S}\leftarrow{j.\begin{matrix}{{D_{K}\left( {\Xi,\overset{\sim}{\Xi}} \right)} = {\sum\limits_{i = 1}^{S}{\min\limits_{{j = 1},\ldots \;,\overset{\sim}{S}}{\sum\limits_{t = 1}^{T}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}} \\{= {\sum\limits_{i = 1}^{S}{\sum\limits_{t = 1}^{T}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j^{t}{(i)}}}}}}}} \\{= {\sum\limits_{t = 1}^{T}{{M^{t}\left( n^{t} \right)}.}}}\end{matrix}} \right.$
 22. The method of claim 19, wherein the steps arecarried out in the order recited.
 23. An article of manufacture,comprising: at least one tangible computer usable medium having acomputer readable program code logic tangibly embodied therein toexecute at least one machine instruction in a processing unit forproviding scenario tree generation based at least in part upon scenarioreduction, said computer readable program code logic, when executing,performing the following steps: receiving for at least a first timeperiod a first forecast, wherein the first forecast comprises a firstset of scenarios; reducing the first set of scenarios to a first subsetof scenarios, wherein the first subset of scenarios comprises a subsetof the first set of scenarios; receiving for at least a second timeperiod a second forecast, wherein the second forecast comprises a secondset of scenarios; reducing the second set of scenarios to a secondsubset of scenarios, wherein the second subset of scenarios comprises asubset of the second set of scenarios; and generating a scenario treebased at least in part upon the first subset of scenarios and the secondsubset of scenarios; wherein the scenario tree has interperiodindependency.
 24. The article of manufacture of claim 23, wherein thesteps of reducing comprise applying an input Ξ to an algorithm toproduce an output {tilde over (Ξ)}.
 25. The article of manufacture ofclaim 24, wherein:Ξ={ξ}_(i=1) ^(S),ξ_(i)ε

^(T), with marginal distributions Ξ^(t)={ξ_(i) _(t) }_(i) _(t) _(εI)_(t) , t=1, . . . , T, n^(t)ε

, t=1, . . . , T,{tilde over (Ξ)}={{tilde over (ξ)}}_(j=1) ^({tilde over (S)}),{tildeover (ξ)}_(i)ε

^(T), with marginal distributions {tilde over (Ξ)}^(t)={{tilde over(ξ)}_(j) _(t) }_(j) _(t) _(εJ) _(t) , |J^(t)|=n^(t), t=1, . . . , T, andwherein the algorithm comprises: $\left. J^{*t}\leftarrow{\begin{matrix}{\arg \; \min \; n} \\{\left( {{\overset{\sim}{\xi}}_{1}^{t},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{n^{t}}^{t}} \right) \in {\mathbb{R}}^{n^{t}}}\end{matrix}{\sum\limits_{i = 1}^{S}{\begin{matrix}\min \\{k = {1\mspace{14mu} \ldots \mspace{14mu} n^{t}}}\end{matrix}p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{k}^{t}}}}}} \right.,{t = 1},\ldots \mspace{14mu},{T.\left( {{i.e.},{{J^{*t}\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {set}\mspace{14mu} {of}\mspace{14mu} n^{t}} - {{medians}\mspace{14mu} {of}\mspace{14mu} {\Xi^{t}.}}}} \right)}$$\left. {I^{t}\left( j^{t} \right)}\leftarrow\left\{ {i^{t} \in I^{t}} \middle| {j^{t} \in {\begin{matrix}{\arg \; \min \; n} \\{k^{t} \in J^{*t}}\end{matrix}{\sum\limits_{t = 1}^{T}{{\xi_{i^{t}} - {\overset{\sim}{\xi}}_{k^{t}}}}}}} \right\} \right.,{j^{t} \in J^{*t}},{t = 1},\left. {\ldots \mspace{14mu} {T.j}}\leftarrow 0 \right.,{{{for}\mspace{14mu} {all}\mspace{14mu} \left( {j^{1},\ldots \mspace{14mu},j^{T}} \right)} \in {J^{*1} \times \cdots \times J^{*T}\mspace{14mu} {do}}}$$\left. j\leftarrow{j + 1} \right.,{{\overset{\sim}{\xi}}_{j} = \left( {{\overset{\sim}{\xi}}_{j^{1}},\ldots \mspace{14mu},{\overset{\sim}{\xi}}_{j^{T}}} \right)},\left. {{support}\left( \overset{\sim}{\Xi} \right)}\leftarrow{{{support}\left( \overset{\sim}{\Xi} \right)}\bigcup\left\{ {\overset{\sim}{\xi}}_{j} \right\}} \right.,\begin{matrix}{{\Pr \left( {\overset{\sim}{\Xi} = {\overset{\sim}{\xi}}_{j}} \right)} = q_{j}} \\{{= {\sum\limits_{i^{1} \in {I^{1}{(j^{1})}}}\mspace{14mu} {\cdots \mspace{14mu} {\sum\limits_{i^{T} \in {I^{T}{(j^{T})}}}{\Pr \left( {\Xi = \left( {\xi_{i^{1}},\ldots \mspace{14mu},\xi_{i^{T}}} \right)} \right)}}}}},}\end{matrix}$ end  for$\left. \overset{\sim}{S}\leftarrow{j.\begin{matrix}{{D_{K}\left( {\Xi,\overset{\sim}{\Xi}} \right)} = {\sum\limits_{i = 1}^{S}{\min\limits_{{j = 1},\ldots \;,\overset{\sim}{S}}{\sum\limits_{t = 1}^{T}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j}^{t}}}}}}}} \\{= {\sum\limits_{i = 1}^{S}{\sum\limits_{t = 1}^{T}{p_{i}{{\xi_{i}^{t} - {\overset{\sim}{\xi}}_{j^{t}{(i)}}}}}}}} \\{= {\sum\limits_{t = 1}^{T}{{M^{t}\left( n^{t} \right)}.}}}\end{matrix}} \right.$
 26. The article of manufacture of claim 23,wherein the steps are carried out in the order recited.